library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

entity parametric_register is
    generic (
        NUM_BIT: natural := 8-- ширина регистра (число бит)
    );
    port (
        clk : in std_logic; -- сигнал тактирования
        rst : in std_logic; -- сигнал сброса
        en : in std_logic; -- сигнал разрешения записи
        inputs : in std_logic_vector(NUM_BIT-1 downto 0); -- входы
        outputs : out std_logic_vector(NUM_BIT-1 downto 0) -- выходы
    );
end entity parametric_register;

architecture BEH of parametric_register is
begin
    process(clk, rst)
    begin
        if rst = '1' then
            outputs <= (others => '0');
        elsif rising_edge(clk) and en = '1' then
            outputs <= inputs;
        end if;
    end process;
end architecture BEH;